{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"CH02.03 Speed and Memory Benchmarking.ipynb","provenance":[],"authorship_tag":"ABX9TyOcl0qSOSMxRqejrDDfrnBR"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"},"accelerator":"GPU","widgets":{"application/vnd.jupyter.widget-state+json":{"b27d75784cfa4a2a8c3529da81049e42":{"model_module":"@jupyter-widgets/controls","model_name":"HBoxModel","state":{"_view_name":"HBoxView","_dom_classes":[],"_model_name":"HBoxModel","_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.5.0","box_style":"","layout":"IPY_MODEL_e78b3d5e651744f2a4b2b7dcc11ce62d","_model_module":"@jupyter-widgets/controls","children":["IPY_MODEL_0b4a42cbaede42ceb47d67a9b7f141c0","IPY_MODEL_eda2b4c00d6b4f4ba941596c6a3f43bc"]}},"e78b3d5e651744f2a4b2b7dcc11ce62d":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}},"0b4a42cbaede42ceb47d67a9b7f141c0":{"model_module":"@jupyter-widgets/controls","model_name":"FloatProgressModel","state":{"_view_name":"ProgressView","style":"IPY_MODEL_036310d8e6c74efebd4f47e866b68df4","_dom_classes":[],"description":"Downloading: 100%","_model_name":"FloatProgressModel","bar_style":"success","max":433,"_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","value":433,"_view_count":null,"_view_module_version":"1.5.0","orientation":"horizontal","min":0,"description_tooltip":null,"_model_module":"@jupyter-widgets/controls","layout":"IPY_MODEL_bd439a14abb94c4db26f69a9415c79d7"}},"eda2b4c00d6b4f4ba941596c6a3f43bc":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","state":{"_view_name":"HTMLView","style":"IPY_MODEL_c4ab87fc45f445c9bbc79f1daebeba23","_dom_classes":[],"description":"","_model_name":"HTMLModel","placeholder":"​","_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","value":" 433/433 [00:00&lt;00:00, 1.86kB/s]","_view_count":null,"_view_module_version":"1.5.0","description_tooltip":null,"_model_module":"@jupyter-widgets/controls","layout":"IPY_MODEL_d1a3ffbfea2b4d759778c2aeb292b8df"}},"036310d8e6c74efebd4f47e866b68df4":{"model_module":"@jupyter-widgets/controls","model_name":"ProgressStyleModel","state":{"_view_name":"StyleView","_model_name":"ProgressStyleModel","description_width":"initial","_view_module":"@jupyter-widgets/base","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.2.0","bar_color":null,"_model_module":"@jupyter-widgets/controls"}},"bd439a14abb94c4db26f69a9415c79d7":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}},"c4ab87fc45f445c9bbc79f1daebeba23":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","state":{"_view_name":"StyleView","_model_name":"DescriptionStyleModel","description_width":"","_view_module":"@jupyter-widgets/base","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.2.0","_model_module":"@jupyter-widgets/controls"}},"d1a3ffbfea2b4d759778c2aeb292b8df":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}},"e60de920bc104bd193c0caf99059b863":{"model_module":"@jupyter-widgets/controls","model_name":"HBoxModel","state":{"_view_name":"HBoxView","_dom_classes":[],"_model_name":"HBoxModel","_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.5.0","box_style":"","layout":"IPY_MODEL_26f97a946743425f81b5ebbdd0efc1e8","_model_module":"@jupyter-widgets/controls","children":["IPY_MODEL_6db6bdf2fd26458994b31276a6a2fc3f","IPY_MODEL_7b7801a205ab47d49bdbaa13d1f7ba17"]}},"26f97a946743425f81b5ebbdd0efc1e8":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}},"6db6bdf2fd26458994b31276a6a2fc3f":{"model_module":"@jupyter-widgets/controls","model_name":"FloatProgressModel","state":{"_view_name":"ProgressView","style":"IPY_MODEL_d63f982a37ed47e6823bf3d8fb5936b2","_dom_classes":[],"description":"Downloading: 100%","_model_name":"FloatProgressModel","bar_style":"success","max":464,"_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","value":464,"_view_count":null,"_view_module_version":"1.5.0","orientation":"horizontal","min":0,"description_tooltip":null,"_model_module":"@jupyter-widgets/controls","layout":"IPY_MODEL_a2104c52b09240ef9e5ae40cb1f59e1f"}},"7b7801a205ab47d49bdbaa13d1f7ba17":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","state":{"_view_name":"HTMLView","style":"IPY_MODEL_9f06ce6534144619ac7995896213481b","_dom_classes":[],"description":"","_model_name":"HTMLModel","placeholder":"​","_view_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","value":" 464/464 [00:07&lt;00:00, 65.4B/s]","_view_count":null,"_view_module_version":"1.5.0","description_tooltip":null,"_model_module":"@jupyter-widgets/controls","layout":"IPY_MODEL_303e60b5a37e4a79b1b2306ae25f1e15"}},"d63f982a37ed47e6823bf3d8fb5936b2":{"model_module":"@jupyter-widgets/controls","model_name":"ProgressStyleModel","state":{"_view_name":"StyleView","_model_name":"ProgressStyleModel","description_width":"initial","_view_module":"@jupyter-widgets/base","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.2.0","bar_color":null,"_model_module":"@jupyter-widgets/controls"}},"a2104c52b09240ef9e5ae40cb1f59e1f":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}},"9f06ce6534144619ac7995896213481b":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","state":{"_view_name":"StyleView","_model_name":"DescriptionStyleModel","description_width":"","_view_module":"@jupyter-widgets/base","_model_module_version":"1.5.0","_view_count":null,"_view_module_version":"1.2.0","_model_module":"@jupyter-widgets/controls"}},"303e60b5a37e4a79b1b2306ae25f1e15":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","state":{"_view_name":"LayoutView","grid_template_rows":null,"right":null,"justify_content":null,"_view_module":"@jupyter-widgets/base","overflow":null,"_model_module_version":"1.2.0","_view_count":null,"flex_flow":null,"width":null,"min_width":null,"border":null,"align_items":null,"bottom":null,"_model_module":"@jupyter-widgets/base","top":null,"grid_column":null,"overflow_y":null,"overflow_x":null,"grid_auto_flow":null,"grid_area":null,"grid_template_columns":null,"flex":null,"_model_name":"LayoutModel","justify_items":null,"grid_row":null,"max_height":null,"align_content":null,"visibility":null,"align_self":null,"height":null,"min_height":null,"padding":null,"grid_auto_rows":null,"grid_gap":null,"max_width":null,"order":null,"_view_module_version":"1.2.0","grid_template_areas":null,"object_position":null,"object_fit":null,"grid_auto_columns":null,"margin":null,"display":null,"left":null}}}}},"cells":[{"cell_type":"markdown","metadata":{"id":"1JxmBoIKCg7v"},"source":["# Speed and Memory Bencmarking "]},{"cell_type":"markdown","metadata":{"id":"UKneYJDbpiHC"},"source":["Just comparing language models on their performance on a specific task or a benchmark turns out to be no longer sufficient. We now must take care of the computational cost of a particular model for a given environment (RAM, CPU, GPU, TPU) in terms of memory usage and the speed. The computational cost of training and deploying to production for inference are two main values to be measured. Two classes of Transformer libary, PyTorchBenchmark and TensorFlowBenchmark, make it possible to benchmark models for both TensorFlow and PyTorch."]},{"cell_type":"code","metadata":{"id":"KMh8r2ofLq1X","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1618942683721,"user_tz":-180,"elapsed":1107,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"ba31b428-2f8c-476f-b1a1-c4c670a95c5f"},"source":["!nvidia-smi"],"execution_count":1,"outputs":[{"output_type":"stream","text":["Tue Apr 20 18:18:02 2021       \n","+-----------------------------------------------------------------------------+\n","| NVIDIA-SMI 460.67       Driver Version: 460.32.03    CUDA Version: 11.2     |\n","|-------------------------------+----------------------+----------------------+\n","| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\n","| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n","|                               |                      |               MIG M. |\n","|===============================+======================+======================|\n","|   0  Tesla P100-PCIE...  Off  | 00000000:00:04.0 Off |                    0 |\n","| N/A   35C    P0    27W / 250W |      0MiB / 16280MiB |      0%      Default |\n","|                               |                      |                  N/A |\n","+-------------------------------+----------------------+----------------------+\n","                                                                               \n","+-----------------------------------------------------------------------------+\n","| Processes:                                                                  |\n","|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |\n","|        ID   ID                                                   Usage      |\n","|=============================================================================|\n","|  No running processes found                                                 |\n","+-----------------------------------------------------------------------------+\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"WhDEDgtofPKl","executionInfo":{"status":"ok","timestamp":1618942697627,"user_tz":-180,"elapsed":3329,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"890e1ac3-c365-4ec2-ca3d-51bf462718be"},"source":["import torch \n","print(f\"The GPU total memory is {torch.cuda.get_device_properties(0).total_memory /(1024**3)} GB\") "],"execution_count":2,"outputs":[{"output_type":"stream","text":["The GPU total memory is 15.8992919921875 GB\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ezQcxnktCl_2","executionInfo":{"status":"ok","timestamp":1618942706101,"user_tz":-180,"elapsed":10497,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"702548ff-ca32-4198-80f7-c9a3a6f85763"},"source":["!pip install transformers\n","!pip install py3nvml==0.2.5"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Collecting transformers\n","\u001b[?25l  Downloading https://files.pythonhosted.org/packages/d8/b2/57495b5309f09fa501866e225c84532d1fd89536ea62406b2181933fb418/transformers-4.5.1-py3-none-any.whl (2.1MB)\n","\u001b[K     |████████████████████████████████| 2.1MB 5.8MB/s \n","\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from transformers) (2.23.0)\n","Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.7/dist-packages (from transformers) (2019.12.20)\n","Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.7/dist-packages (from transformers) (1.19.5)\n","Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers) (3.0.12)\n","Collecting tokenizers<0.11,>=0.10.1\n","\u001b[?25l  Downloading https://files.pythonhosted.org/packages/ae/04/5b870f26a858552025a62f1649c20d29d2672c02ff3c3fb4c688ca46467a/tokenizers-0.10.2-cp37-cp37m-manylinux2010_x86_64.whl (3.3MB)\n","\u001b[K     |████████████████████████████████| 3.3MB 21.6MB/s \n","\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from transformers) (20.9)\n","Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.7/dist-packages (from transformers) (4.41.1)\n","Collecting sacremoses\n","\u001b[?25l  Downloading https://files.pythonhosted.org/packages/75/ee/67241dc87f266093c533a2d4d3d69438e57d7a90abb216fa076e7d475d4a/sacremoses-0.0.45-py3-none-any.whl (895kB)\n","\u001b[K     |████████████████████████████████| 901kB 34.6MB/s \n","\u001b[?25hRequirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.7/dist-packages (from transformers) (3.10.1)\n","Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (2.10)\n","Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (1.24.3)\n","Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (2020.12.5)\n","Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (3.0.4)\n","Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->transformers) (2.4.7)\n","Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (1.0.1)\n","Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (7.1.2)\n","Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (1.15.0)\n","Requirement already satisfied: typing-extensions>=3.6.4; python_version < \"3.8\" in /usr/local/lib/python3.7/dist-packages (from importlib-metadata; python_version < \"3.8\"->transformers) (3.7.4.3)\n","Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata; python_version < \"3.8\"->transformers) (3.4.1)\n","Installing collected packages: tokenizers, sacremoses, transformers\n","Successfully installed sacremoses-0.0.45 tokenizers-0.10.2 transformers-4.5.1\n","Collecting py3nvml==0.2.5\n","\u001b[?25l  Downloading https://files.pythonhosted.org/packages/e0/5e/9ae2fabc0004eb0187062c886a6ab8fd027fa9ff08d5ab153480a53e5e89/py3nvml-0.2.5-py3-none-any.whl (61kB)\n","\u001b[K     |████████████████████████████████| 61kB 3.4MB/s \n","\u001b[?25hCollecting xmltodict\n","  Downloading https://files.pythonhosted.org/packages/28/fd/30d5c1d3ac29ce229f6bdc40bbc20b28f716e8b363140c26eff19122d8a5/xmltodict-0.12.0-py2.py3-none-any.whl\n","Installing collected packages: xmltodict, py3nvml\n","Successfully installed py3nvml-0.2.5 xmltodict-0.12.0\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"t9RXTKUpCmCZ","executionInfo":{"status":"ok","timestamp":1618942753537,"user_tz":-180,"elapsed":802,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}}},"source":["\n","from transformers import PyTorchBenchmark, PyTorchBenchmarkArguments\n","models= [\"distilbert-base-uncased\",\"distilroberta-base\", \"albert-base-v2\"]\n","batch_sizes=[16]\n","sequence_lengths=[64, 128, 256, 512]\n","\n","args = PyTorchBenchmarkArguments(  models=models, batch_sizes=batch_sizes, sequence_lengths=sequence_lengths)\n","benchmark = PyTorchBenchmark(args)"],"execution_count":7,"outputs":[]},{"cell_type":"code","metadata":{"id":"i9EjBL2XQ-04","colab":{"base_uri":"https://localhost:8080/","height":117,"referenced_widgets":["b27d75784cfa4a2a8c3529da81049e42","e78b3d5e651744f2a4b2b7dcc11ce62d","0b4a42cbaede42ceb47d67a9b7f141c0","eda2b4c00d6b4f4ba941596c6a3f43bc","036310d8e6c74efebd4f47e866b68df4","bd439a14abb94c4db26f69a9415c79d7","c4ab87fc45f445c9bbc79f1daebeba23","d1a3ffbfea2b4d759778c2aeb292b8df","e60de920bc104bd193c0caf99059b863","26f97a946743425f81b5ebbdd0efc1e8","6db6bdf2fd26458994b31276a6a2fc3f","7b7801a205ab47d49bdbaa13d1f7ba17","d63f982a37ed47e6823bf3d8fb5936b2","a2104c52b09240ef9e5ae40cb1f59e1f","9f06ce6534144619ac7995896213481b","303e60b5a37e4a79b1b2306ae25f1e15"]},"executionInfo":{"status":"ok","timestamp":1618942810265,"user_tz":-180,"elapsed":1363,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"aacb31cc-d258-41f1-c4e4-f64c8eeda31e"},"source":["from transformers import PyTorchBenchmark, PyTorchBenchmarkArguments \n","models= [\"bert-base-uncased\",\"distilbert-base-uncased\",\"distilroberta-base\", \"distilbert-base-german-cased\"] \n","batch_sizes=[4] \n","sequence_lengths=[32,64, 128, 256,512] \n","args = PyTorchBenchmarkArguments(models=models, batch_sizes=batch_sizes, sequence_lengths=sequence_lengths, multi_process=False) \n","benchmark = PyTorchBenchmark(args) "],"execution_count":10,"outputs":[{"output_type":"display_data","data":{"application/vnd.jupyter.widget-view+json":{"model_id":"b27d75784cfa4a2a8c3529da81049e42","version_minor":0,"version_major":2},"text/plain":["HBox(children=(FloatProgress(value=0.0, description='Downloading', max=433.0, style=ProgressStyle(description_…"]},"metadata":{"tags":[]}},{"output_type":"stream","text":["\n"],"name":"stdout"},{"output_type":"display_data","data":{"application/vnd.jupyter.widget-view+json":{"model_id":"e60de920bc104bd193c0caf99059b863","version_minor":0,"version_major":2},"text/plain":["HBox(children=(FloatProgress(value=0.0, description='Downloading', max=464.0, style=ProgressStyle(description_…"]},"metadata":{"tags":[]}},{"output_type":"stream","text":["\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"Mi6wYnC6Skbu","executionInfo":{"status":"ok","timestamp":1618942814427,"user_tz":-180,"elapsed":824,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}}},"source":[""],"execution_count":10,"outputs":[]},{"cell_type":"code","metadata":{"id":"qymxZzmhSrjY","executionInfo":{"status":"ok","timestamp":1618942815747,"user_tz":-180,"elapsed":822,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}}},"source":["# it takes time depending on your  CPU/GPU capacity and selection"],"execution_count":11,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"gIwPFXHBMhRy","executionInfo":{"status":"ok","timestamp":1618942938481,"user_tz":-180,"elapsed":122440,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"81e8fa89-d0d5-4b32-b8ea-112a49c2007a"},"source":["results = benchmark.run()"],"execution_count":12,"outputs":[{"output_type":"stream","text":["1 / 4\n","2 / 4\n","3 / 4\n","4 / 4\n","\n","====================       INFERENCE - SPEED - RESULT       ====================\n","--------------------------------------------------------------------------------\n","          Model Name             Batch Size     Seq Length     Time in s   \n","--------------------------------------------------------------------------------\n","      bert-base-uncased              4               32            0.008     \n","      bert-base-uncased              4               64            0.009     \n","      bert-base-uncased              4              128            0.015     \n","      bert-base-uncased              4              256             0.03     \n","      bert-base-uncased              4              512            0.062     \n","   distilbert-base-uncased           4               32            0.004     \n","   distilbert-base-uncased           4               64            0.004     \n","   distilbert-base-uncased           4              128            0.006     \n","   distilbert-base-uncased           4              256            0.011     \n","   distilbert-base-uncased           4              512            0.024     \n","      distilroberta-base             4               32            0.004     \n","      distilroberta-base             4               64            0.004     \n","      distilroberta-base             4              128            0.007     \n","      distilroberta-base             4              256            0.013     \n","      distilroberta-base             4              512            0.027     \n"," distilbert-base-german-cased        4               32            0.004     \n"," distilbert-base-german-cased        4               64            0.004     \n"," distilbert-base-german-cased        4              128            0.006     \n"," distilbert-base-german-cased        4              256            0.011     \n"," distilbert-base-german-cased        4              512            0.022     \n","--------------------------------------------------------------------------------\n","\n","====================      INFERENCE - MEMORY - RESULT       ====================\n","--------------------------------------------------------------------------------\n","          Model Name             Batch Size     Seq Length    Memory in MB \n","--------------------------------------------------------------------------------\n","      bert-base-uncased              4               32             1371     \n","      bert-base-uncased              4               64             1407     \n","      bert-base-uncased              4              128             1469     \n","      bert-base-uncased              4              256             1589     \n","      bert-base-uncased              4              512             1829     \n","   distilbert-base-uncased           4               32             1829     \n","   distilbert-base-uncased           4               64             1829     \n","   distilbert-base-uncased           4              128             1829     \n","   distilbert-base-uncased           4              256             1829     \n","   distilbert-base-uncased           4              512             1829     \n","      distilroberta-base             4               32             1829     \n","      distilroberta-base             4               64             1829     \n","      distilroberta-base             4              128             1829     \n","      distilroberta-base             4              256             2027     \n","      distilroberta-base             4              512             2421     \n"," distilbert-base-german-cased        4               32             2421     \n"," distilbert-base-german-cased        4               64             2421     \n"," distilbert-base-german-cased        4              128             2421     \n"," distilbert-base-german-cased        4              256             2421     \n"," distilbert-base-german-cased        4              512             2421     \n","--------------------------------------------------------------------------------\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"H-0RZxkklSdo","colab":{"base_uri":"https://localhost:8080/","height":513},"executionInfo":{"status":"ok","timestamp":1618942959745,"user_tz":-180,"elapsed":1530,"user":{"displayName":"Savas Yıldırım","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhdhYZMfq-hvK2xI7HqkzvJuCbfgFrIs4wypQEm5w=s64","userId":"10717726124681851716"}},"outputId":"93fd0d20-a5aa-4dc7-91f7-57bac447c4ad"},"source":["import matplotlib.pyplot as plt \n","plt.figure(figsize=(8,8)) \n","t=sequence_lengths \n","models_perf=[list(results.time_inference_result[m]['result'][batch_sizes[0]].values()) for m in models] \n","plt.xlabel('Seq Length') \n","plt.ylabel('Time in Second') \n","plt.title('Inference Speed Result') \n","plt.plot(t, models_perf[0], 'rs--', t, models_perf[1], 'g--.', t, models_perf[2], 'b--^', t, models_perf[3], 'c--o') \n","plt.legend(models)  \n","plt.show() "],"execution_count":13,"outputs":[{"output_type":"display_data","data":{"image/png":"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iODV7e7c2WuxL1zoLS1bguh/woCp27cz9Mcf2XTwIAZsOniQoT/+yNTt20/43OEs+Qp5l1Rdv3493bp1o1mzZrRv354ffvgh+LrDhg2jZcuWXHnllTz//PM8+eSTJCQkBIvMhHL+cJRsXb9+Pa1ataJJkybcddddh/UajBs3Lvj8e++9FyC48t6AAQOIjY1l8eLFnHfeeQwcOJD69etz9dVXM2/ePNq2bUu9evVYvnw5AMuXL6d169YkJibSpk2b4GcyefJkevfuTbdu3ahXrx633XZbnnFmZmYycuRIYmNjiYuL46mnngK8L2DNmzcnNjaWoUOHkr1A1Pjx44Ofb9++fQHYt28f1157LS1atCAxMZG3334bgAMHDtC3b18aNmzIZZddxoEDB/KMQUSOonp1GDXKmxUfZavPhSSvUnHF8RZSydcvvjji9kygvGitpUuNjz464nb64sVmZrbj4MEjnhuKoij5mldJ1QsuuMDWrFljZmaffvqpderUKXie7t27W0ZGhpmZ3XvvvTZu3Lh848/v/OEo2dq9e3ebNm2amZk999xzVrFiRTMz++CDD2zIkCGWlZVlmZmZ1r17d/v4449t48aN5pyzZcuWmZnZxo0bLSYmxr7++mvLzMy0pk2b2qBBgywrK8tmzZplvXr1MjOzlJQUS09PNzOzDz/80Hr37m1mZpMmTbK6devab7/9ZgcOHLDatWvb5s2bj4jz2Weftcsvvzx4jl27dh3208ysf//+Nnv2bDMzq1GjhqWlpR32Oxk1apRNmTIluK1evXqWmppqjz/+eLDs7ldffWUxMTHBzzonlXwVyce335p99ZXfURQZ8in5qm75gK0HD+a5fVdGxgmdN2fJV6DAkq89evSgR48ex3T+3CVVe/fuTWpqKkuXLqVPnz7B4w7meH99+vQJqZJcfucHr2TrXXfdxW+//UZqamqwYlt2ydYrr7wyeOzcuXP5+uuvgz0PKSkprF27lrq5usmWLVsWXDO+X79+jBw5Mvj8uXPnkpiYCHjFdtauXUvt2rU555xzaNWqVfAcdevWpUmTJgDB3gbnHE2aNCE5OTn4+tdccw1r167FORcsSAPQuXNnKleuDECjRo3YtGkTtWrVOizOefPmMWzYMEoHZtyedtppAHz00Uc8+uij7N+/n927d9O4cWN69uxJXFwcV199NZdeeimX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\n","text/plain":["<Figure size 576x576 with 1 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"2g-ObOQpmmS2"},"source":[""],"execution_count":null,"outputs":[]}]}
